package sprint2;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Alleen een Test klasse
 * @author Marco Schultewolter
 *
 */
public class TestArk implements Serializable  {

	/**
	 * Dit laat zien, hoe de quest met de Arkschip kan worden geïmplementeerd...
	 * @param args
	 */
	public static void main(String[] args) {
		//Inventory, waar je de gevangen creatures kunt inpakken
		Inventory inv = new Inventory(10);

		//ArrayList met creatures, die moeten worden gevangen
		ArrayList<Creature> crea = new ArrayList<Creature>();
		crea.add(new Creature("Driekoppige aap", "Een aap met drie koppen..."));
		crea.add(new BigCreature("Artisjokeekhoorn", "Een rare eekhoorn, die de hele dag artisjokken eet."));
		crea.add(new Creature("Pluimvoetbij", "Een bij met rode broeken."));
		crea.add(new BigCreature("Eendgorilla", "Een gorilla met snavel."));
		crea.add(new Creature("Blaffende Zebravink", "Een vogel met hondenkop."));
		crea.add(new Creature("Punkkikker", "Een kikker met een ring in zijn neus en een mond met zipper."));
		crea.add(new Creature("Pinkat", "Een pinguin met kattenkop."));
		crea.add(new Creature("Papehondgaai", "Een papegaai en een hond tegelijk."));
		crea.add(new BigCreature("Pindaolifant", "Een olifant met pindasaus."));

		//ShrinkGun om BigCreatures te krimpen
		ShrinkGun s = new ShrinkGun("Shrink Gun", "Pistool, om BigCreatures te krimpen", 0);

		// Er is een kans, die bij de CatchingNet hoort. Met een "slechte" net is de kans groot,
		// dat de creature sneller is dan jij
		CatchingNet cn = new CatchingNet("Catching Net", "Gebruik het om Creatures te vangen", 0, 0.7);

		for (Creature c : crea) {
			System.out.println("############\nVangen van " + c);
			if (c instanceof BigCreature) {
				System.out.println(c + " is een BigCreature. Een BigCreature moet je krimpen om hem te kunnen vangen.");
				s.useItem((BigCreature)c);
				System.out.println("De creature heet nu '" + c + "' en kan nu worden gevangen....");
			}
			int ccount = 1;
			while (!cn.useItem(c, inv)) {
				System.out.println("Vangpoging voor " + c +" niet gelukt, hij was te snel voor jou...");
				ccount++;
			}
			System.out.println(c + " bij de " + ccount + "e poging gevangen!");
		}


		System.out.println("\nProberen om de creatures te vangen...\n###########");

		System.out.println();
		System.out.println("De inventory na de vangpogingen:");
		inv.printInventory();
	}

}
